Sementara operasi titik-titik menangani setiap elemen dalam tensor secara independen, pola reduksi menciptakan ketergantungan data di mana beberapa elemen input digabung menjadi satu nilai output (misalnya, jumlah, maksimum, atau rata-rata). Untuk menerapkannya secara efisien, perlu menghubungkan kesenjangan antara struktur logis 2D data dan representasi linier data dalam memori perangkat keras.
1. Pemetaan Memori 2D
Tensor 2D secara logis berupa kisi-kisi tetapi secara fisik linier di RAM. Memahami baris-utama vs. kolom-utama tata letak sangat penting untuk menentukan apakah reduksi menelusuri alamat memori yang berurutan atau membutuhkan akses bergaris.
2. Topologi Operasi Titik-Titik vs. Reduksi
Sebuah salinan matriks mewakili operasi titik-titik dengan pemetaan input-ke-output $1:1$. Sebaliknya, sebuah reduksi adalah operasi banyak-ke-satu ($N:1$) yang memerlukan akumulasi bersama di antara thread atau pemrosesan berurutan dalam satu blok.
3. Kolaps Dimensi
Reduksi ditentukan oleh sumbu dari operasi. Mengurangi sepanjang sumbu 1 (baris) dibandingkan sumbu 0 (kolom) secara fundamental mengubah pola jarak memori dan tingkat keberhasilan cache perangkat keras.